package com.xinqi.modules.homework.homework.dto.req;

import com.xinqi.common.green.annotation.Text;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * -请求对象
 *
 * @author: system
 * @date: 2023/03/09
 */
@Data
@Schema(name = "-修改")
public class CourseHomeworkStudentLogUpdateDTO implements Serializable {

    /**
     * 学生日志ID
     */
    @Schema(description = "学生日志ID")
    private Long id;
    /**
     *  作业提交记录ID
     */
    @Schema(description = "作业提交记录ID")
    private Long recordId;
    /**
     * 班级ID (统计所需)
     */
    private Long classId;
    /**
     * 课程内容ID
     */
    private Long contentId;
    /**
     * 学生ID
     */
    private Long studentId;
    /**
     * 是否已读
     */
    private Integer isRead;
    /**
     * 作业打分
     */
    private BigDecimal studentScore;
    /**
     * 是否已阅 0否 1是
     */
    private Integer isMarked;
    /**
     * 提交次数
     */
    private Integer handTimes;
    /**
     * 提交时间
     */
    private LocalDateTime handTime;
    /**
     * 打回作业记录炒作人
     */
    private String handRelationship;
    /**
     * 新提交状态
     */
    private Integer handStatus;
    /**
     * 作业状态
     */
    private Integer submitStatus;
    /**
     * 催交次数
     */
    private Integer calls;
    /**
     * 催交最后一次时间
     */
    private LocalDateTime callTime;
    /**
     * 打回次数
     */
    private Integer repulseTotal;
    /**
     * 打回理由
     */
    @Text
    @Size(min = 0, max = 300, message = "{course.content.repulseReason.length.valid}")
    private String repulseReason;
    /**
     * 是否分享 0 否 1是
     */
    private Integer share;
    /**
     * 分享理由
     */
    private String sharetitle;
    /**
     * 1分享,已批阅的才能看到
     */
    private Integer isReviewed;
    /**
     * 是否匿名分享 0 否 1是
     */
    private Integer anonymous;
    /**
     * 学生作业(0未提交,1已提交,2被打回, 3已阅, 4已批 )
     */
    private Integer taskStatus;
    /**
     * 批阅次数
     */
    private Integer markedNum;
    /**
     * 是否参与 0 否 1是
     */
    private Integer isPartake;
    /**
     * 作业循环第几轮
     */
    private Integer times;

}
